#pragma once

#include "ITask.h"
#include "IUpdatable.h"
#include "Singleton.h"

class UpdateTask : public ITask, public Singleton<UpdateTask>
{
public:
	bool Start();
	void Update();
	void Stop();

	void RegisterUpdatable( IUpdatable* updatable );
	void RemoveUpdateable( IUpdatable* updatable );
protected:
	IUpdatable::List_t m_updatables;
};